home *** CD-ROM | disk | FTP | other *** search
/ Astound 5.0 / Astound v5.0 (R0202-30-500-0)(Astound, Inc.)(1998).iso / CAMBIUM / SDCHOICE / ACM / SETUP.MST < prev    next >
Text File  |  1998-02-27  |  6KB  |  217 lines

  1. '**************************************************************************
  2. '*                  VfW 1.1 Runtime Setup
  3. '**************************************************************************
  4. '$INCLUDE 'setupapi.inc'
  5. '$INCLUDE 'mscpydis.inc'    ''System
  6. '$INCLUDE 'msdetect.inc'    ''Detects Avalilable Disk Space
  7.  
  8. ''Dialog ID's
  9. CONST WELCOME       = 100
  10. CONST ASKQUIT       = 200
  11. CONST EXITFAILURE   = 400
  12. CONST EXITQUIT      = 600
  13. CONST EXITSUCCESS   = 700
  14. CONST APPHELP       = 900
  15. CONST CHECK         = 2500
  16. CONST SMALLWIN      = 2200
  17. CONST RESTART       = 2600
  18. CONST RESTARTII     = 2700
  19.  
  20. ''Bitmap ID
  21. CONST LOGO = 1
  22.  
  23. GLOBAL SizeReq&  '' Total Disk Size required for installation
  24.  
  25. ''File Types
  26. GLOBAL WinDir$
  27. GLOBAL WinSysDir$
  28. GLOBAL WINDRIVE$    ''Windows Drive Letter.
  29. GLOBAL CHECKSTATES$
  30.  
  31. DECLARE SUB Install
  32. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  33. DECLARE fUNCTION ExitWindowsExec  LIB "User" (Exec$, Param$) AS INTEGER
  34.  
  35. INIT:
  36.   
  37.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  38.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  39.     
  40.     WIN32ENABLED% = 0
  41.     MajorVer% = GetWindowsMajorVersion()
  42.     MinorVer% = GetWindowsMinorVersion()
  43.  
  44.     IF MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
  45.     i% = DoMsgBox("Microsoft Windows version 3.10 or greater is required for this software.  Please upgrade your version of Windows.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  46.     END
  47.     END IF
  48.  
  49.  
  50.     SetBitmap CUIDLL$, LOGO
  51.     SetTitle "Audio Compression Manager Runtime"
  52.  
  53.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  54.     IF szInf$ = "" THEN
  55.        szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  56.     END IF
  57.     ReadInfFile szInf$
  58.  
  59.     WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
  60.  
  61. WELCOME:
  62.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  63.     IF sz$ = "CONTINUE" THEN
  64.        UIPop 1
  65.      ELSE
  66.     GOSUB ASKQUIT
  67.     GOTO WELCOME
  68.     END IF
  69.  
  70. ''Prepare Copy list and check size
  71.  
  72.     ClearCopyList
  73.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  74.     WinDir$ = GetWindowsDir()
  75.     DEST$ = GetWindowsDir()
  76.     WinSysDir$ = GetWindowsSysDir()
  77.  
  78. ''  Runtime files (on Windows disk)
  79.  
  80.     AddSectionFilesToCopyList "VfW Runtime", SrcDir$, WinSysDir$
  81.     AddSectionFilesToCopyList "ACM Drivers", SrcDir$, WinSysDir$
  82.  
  83. ''  Check windrive diskspace
  84.     SizeReq& = GetCopyListCost ("","", "")
  85.     IF SizeReq& <> 0 THEN
  86.     GOSUB SMALLWIN
  87.     END
  88.     END IF
  89.  
  90. Install
  91.  
  92. '' Restart Windows: if it has to updates ACM from DOS, it restarts Windows automatically
  93. '' else, it gives the user the choice
  94.     RESTRT% = RestartListEmpty ()
  95.     Exe$ = DEST$ + "\_msrstrt.exe"
  96.     Batch$ = DEST$ + "\_mssetup.bat"
  97.     empty$ = ""
  98. RESTART:
  99.     IF RESTRT% = 0 THEN
  100.        sz$ = UIStartDlg(cuidll$, RESTART, "FInfo0DlgProc", 0, "")
  101.        IF sz$ = "REACTIVATE" THEN
  102.       GOTO RESTART
  103.        ENDIF
  104.        I% = ExitExecRestart ()
  105.        RemoveFile Exe$, cmoForce
  106.        RemoveFile Batch$, cmoForce
  107.        END
  108.     ELSE
  109.        sz$ = UIStartDlg(CUIDLL$, RESTARTII, "FQuitDlgProc", 0, "")
  110.        IF sz$ = "CONTINUE" THEN
  111.       I% = ExitWindowsExec (Exe$, empty$)
  112.       IF I% = 0 THEN
  113.          GOTO RESTART
  114.       ELSE
  115.          END
  116.      ENDIF
  117.        ELSEIF sz$ = "EXIT" THEN
  118.       UIPopAll
  119.       END
  120.        ELSEIF sz$ = "REACTIVATE" THEN
  121.       GOTO RESTART
  122.        ELSE
  123.       UIPop 1
  124.        END IF
  125.     END IF
  126.  
  127.  
  128. QUIT:
  129.     ON ERROR GOTO ERRQUIT
  130.  
  131.     IF ERR = 0 THEN
  132.     dlg% = EXITSUCCESS
  133.     ELSEIF ERR = STFQUIT THEN
  134.     dlg% = EXITQUIT
  135.     ELSE
  136.     dlg% = EXITFAILURE
  137.     END IF
  138. QUITL1:
  139.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  140.     IF sz$ = "REACTIVATE" THEN
  141.     GOTO QUITL1
  142.     END IF
  143.     UIPop 1
  144.     END
  145.  
  146. ERRQUIT:
  147.     i% = DoMsgBox("An installation problem occured, call the product support service", "Setup Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  148.     END
  149.  
  150.  
  151. ASKQUIT:
  152.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  153.  
  154.     IF sz$ = "EXIT" THEN
  155.     UIPopAll
  156. ''        ERROR STFQUIT
  157.     END
  158.     ELSEIF sz$ = "REACTIVATE" THEN
  159.     GOTO ASKQUIT
  160.     ELSE
  161.     UIPop 1
  162.     END IF
  163.     RETURN
  164.  
  165. SMALLWIN:
  166.     sz$ = UIStartDlg(CUIDLL$, SMALLWIN, "FInfo0DlgProc", 0, "")
  167.     IF sz$ = "REACTIVATE" THEN
  168.     GOTO SMALLWIN
  169.     END IF
  170.     UIPop 1
  171.     RETURN
  172.  
  173. '**
  174. '** Purpose:
  175. '**     Performs all installation operations.
  176. '** Arguments:
  177. '**     none.
  178. '** Returns:
  179. '**     none.
  180. '*************************************************************************
  181. SUB Install STATIC
  182.  
  183.     SetRestartDir WinDir$
  184.     CopyFilesInCopyList
  185.  
  186. ''Updating WIN.INI and SYSTEM.INI
  187.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "WaveMapper", "msacm.drv", cmoOverwrite
  188.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "MSACM.msadpcm", "msadpcm.acm", cmoOverwrite
  189.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "MSACM.imaadpcm", "imaadpcm.acm", cmoOverwrite
  190.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msacm.drv", "Microsoft Sound Mapper V2.01", cmoOverwrite
  191.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msadpcm.acm", "Microsoft ADPCM Codec V2.01", cmoOverwrite
  192.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "imaadpcm.acm", "Microsoft IMA ADPCM Codec V2.01", cmoOverwrite
  193.  
  194. END SUB
  195.  
  196. '**
  197. '** Purpose:
  198. '**     Appends a file name to the end of a directory path,
  199. '**     inserting a backslash character as needed.
  200. '** Arguments:
  201. '**     szDir$  - full directory path (with optional ending "\")
  202. '**     szFile$ - filename to append to directory
  203. '** Returns:
  204. '**     Resulting fully qualified path name.
  205. '*************************************************************************
  206. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  207.     IF szDir$ = "" THEN
  208.     MakePath = szFile$
  209.     ELSEIF szFile$ = "" THEN
  210.     MakePath = szDir$
  211.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  212.     MakePath = szDir$ + szFile$
  213.     ELSE
  214.     MakePath = szDir$ + "\" + szFile$
  215.     END IF
  216. END FUNCTION
  217.